home *** CD-ROM | disk | FTP | other *** search
/ MacWorld 1999 January - Disc 2 / Macworld (1999-01) (Disk 2).dmg / Serious Demos / Symbolic Composer 4.2 / Environment / Projects / Examples / Demos / Fade in⁄out < prev    next >
Text File  |  1998-10-26  |  4KB  |  126 lines

  1. ; fade in/out, controller track & multiple tuning scale demo
  2. ; to analyze the score double-click high-lighted keywords
  3.  
  4. (def-orchestra 'orchestra
  5.    all-instruments (choir heart)
  6.    choir (voices1 voices2 voices3)
  7.    heart (heartbeat heartvol)
  8.    voices1 (voice1 voice1vol)
  9.    voices2 (voice2 voice2vol)
  10.    voices3 (voice3 voice3vol)
  11. )
  12.  
  13. (def-grammar 'minimal-theme
  14.   a (a b)
  15.   b (b a)
  16. )
  17.  
  18. (create-tonality aeolic 
  19.     '(1/1 9/8 32/27 4/3 3/2 128/81 16/9))
  20.  
  21. (create-tonality hexany15
  22.     '(1/1 5/4 4/3 3/2 8/5))
  23.  
  24. (def-section-timesheet sect-a
  25.             ;    1   5   9   13  17  21  25  29  33  37  41  45  49  53  57  61  65  69  73  77  81
  26.    with 1/1 ;    !---!---!---!---!---!---!---!---!---!---!---!---!---!---!---!---
  27.    tonality     "                  .                 " '((hexany15 g# 3 4024) (aeolic g# 3 4024))
  28.    voices1      "------------              ------    "
  29.    tonality     "                  .                 " '((aeolic g# 3 4024) (aeolic g# 3 4024))
  30.    voices2      "    ----------------    ----------  "
  31.    tonality     "                  .                 " '((aeolic g# 3 4024) (hirajoshi d 3 4024))
  32.    voices3      "        --------- ----------        "
  33.    heart        "--------         -           -------"
  34.    ;
  35.    ; bass patterns
  36.    ;
  37.    beat 1/8 ;  !---!---!---!---!---!---!---!---!---!---!---!---!---!---!---!---!
  38.    heartbeat  "-       ---     " '(a) with '(65 55)
  39.    voice1     "---     -       ---     -       " (gen-trans a 4 'minimal-theme) with '(65 55 45 75)
  40.    voice2     "-   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   " (gen-trans b 4 'minimal-theme) with '(65 55 65 75)
  41.    voice3     "-       -       -       -       -       -       -       -       " (gen-trans a 4 'minimal-theme) with '(65 55)
  42. )
  43.  
  44. (def-section sect-a
  45.    heartvol
  46.      channel 1
  47.      symbol '(=)
  48.      velocity '(0)
  49.      length '(1/16) 
  50.      controller (gm-controllers
  51.                   main-volume (do-fades 20 65 0))
  52.    voice1vol
  53.      channel 2
  54.      symbol '(=)
  55.      velocity '(0)
  56.      length '(1/16) 
  57.      controller (gm-controllers
  58.                   main-volume (do-fades 20 55 0 4 6))
  59.    voice2vol
  60.      channel 3
  61.      symbol '(=)
  62.      velocity '(0)
  63.      length '(1/16) 
  64.      controller (gm-controllers
  65.                   main-volume (do-fades 0 54 0 6 6))
  66.   voice3vol
  67.      channel 4
  68.      symbol '(=)
  69.      velocity '(0)
  70.      length '(1/16) 
  71.      controller (gm-controllers
  72.                   main-volume (do-fades 20 64 0 4 6))
  73.    heartbeat
  74.      channel 1
  75.      symbol (align-to-length 
  76.              (same-as length of heartbeat)
  77.              (repeat-symbols 32 (same-as symbol of heartbeat)))
  78.      length '(1/8) 
  79.      duration (calc-duration '1/8 (same-as symbol of heartbeat))
  80.      controller (gm-controllers
  81.                   filter (list (vector-round 50 90 (gen-sin 1 0.3 32))))
  82.    voice1
  83.      channel 2
  84.      velocity '(64 74 64)
  85.      symbol (align-to-length 
  86.              (same-as length of voice1)
  87.              (repeat-symbols 32 (same-as symbol of voice1)))
  88.      length '(1/8) 
  89.      duration (calc-duration '1/8 (same-as symbol of voice1))
  90.      controller (gm-controllers
  91.                   filter (list (vector-round 50 90 (gen-sin 1 0.3 32))))
  92.    voice2
  93.      channel 3
  94.      velocity '(64 74 64)
  95.      symbol (align-to-length 
  96.              (same-as length of voice2)
  97.              (repeat-symbols 32 (same-as symbol of voice2)))
  98.      length '(1/8) 
  99.      duration (calc-duration '1/8 (same-as symbol of voice2))
  100.      controller (gm-controllers
  101.                   filter (list (vector-round 50 90 (gen-sin 1 0.3 32))))
  102.    voice3
  103.      channel 4
  104.      velocity '(64 74 64)
  105.      symbol (align-to-length 
  106.              (same-as length of voice3)
  107.              (repeat-symbols 32 (same-as symbol of voice3)))
  108.      length '(1/8) 
  109.      duration (calc-duration '1/8 (same-as symbol of voice3))
  110.      controller (gm-controllers
  111.                   filter (list (vector-round 50 90 (gen-sin 1 0.3 32))))
  112. )
  113.  
  114. (def-expression
  115.     default ((legato 90 10 0.4) (velocity 10 0.4))
  116.     voice3 ((legato 100 10 0.4) (velocity 15 0.4))
  117. )
  118.  
  119. (def-tempo 60)
  120.  
  121. (midiport :printer)
  122.  
  123. (play-file-p "Fade in/out midi"
  124.    all-instruments '(sect-a)
  125. )
  126.